package com.xunmeng.chapter1;

import java.nio.ByteBuffer;

import static com.xunmeng.chapter1.ByteBufferUtil.debugAll;

public class TestByteBufferRead {
    public static void main(String[] args) {
        ByteBuffer buffer=ByteBuffer.allocate(10);
        buffer.put(new byte[]{'a','b','c','d'});
        buffer.flip();
//        // 从头开始读
//        buffer.get(new byte[4]);
//        debugAll(buffer);
//        // 将指针移动到头rewind
//        buffer.rewind();
//        debugAll(buffer);
//        System.out.println(buffer.get());


        //mark & reset
        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());
        buffer.mark();// 索引为2
        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());
        buffer.reset();// 将postion的位置重置到mark所标记的位置
        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());

        // get(i) 不会该表指针的位置
        System.out.println((char) buffer.get(3));
        debugAll(buffer);
    }
}
